package cn.llin.dlxx.mapper;

import java.util.List;

import cn.llin.common.annotation.DataSource;
import cn.llin.common.enums.DataSourceType;
import cn.llin.dlxx.domain.DataVehicleWarning;

/**
 * 数据仓库——车辆预警数据信息Mapper接口
 * 
 * @author llin
 * @date 2023-02-22
 */
public interface DataVehicleWarningMapper 
{
    /**
     * 查询数据仓库——车辆预警数据信息
     * 
     * @param vehicleWarningId 数据仓库——车辆预警数据信息主键
     * @return 数据仓库——车辆预警数据信息
     */
    public DataVehicleWarning selectDataVehicleWarningByVehicleWarningId(String vehicleWarningId);

    /**
     * 查询数据仓库——车辆预警数据信息列表
     * 
     * @param dataVehicleWarning 数据仓库——车辆预警数据信息
     * @return 数据仓库——车辆预警数据信息集合
     */
    @DataSource(value = DataSourceType.SLAVE)
    public List<DataVehicleWarning> selectDataVehicleWarningList(DataVehicleWarning dataVehicleWarning);

//    @DataSource(value = DataSourceType.SLAVE)
    public List<DataVehicleWarning> selectDataVehicleWarningLists();
    /**
     * 新增数据仓库——车辆预警数据信息
     * 
     * @param dataVehicleWarning 数据仓库——车辆预警数据信息
     * @return 结果
     */
    public int insertDataVehicleWarning(DataVehicleWarning dataVehicleWarning);

    /**
     * 修改数据仓库——车辆预警数据信息
     * 
     * @param dataVehicleWarning 数据仓库——车辆预警数据信息
     * @return 结果
     */
    public int updateDataVehicleWarning(DataVehicleWarning dataVehicleWarning);

    /**
     * 删除数据仓库——车辆预警数据信息
     * 
     * @param vehicleWarningId 数据仓库——车辆预警数据信息主键
     * @return 结果
     */
    public int deleteDataVehicleWarningByVehicleWarningId(String vehicleWarningId);

    /**
     * 批量删除数据仓库——车辆预警数据信息
     * 
     * @param vehicleWarningIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteDataVehicleWarningByVehicleWarningIds(String[] vehicleWarningIds);


//    @DataSource(value = DataSourceType.SLAVE)
    public long countAll();
}
